{{tag>irc bzr bzr-gtk brouillon}}

----

====== Projet de développement de scripts ======


Le but de ce projet est de collecter et de maintenir sur le long terme un dépôt de scripts (bash, perl, python, java, etc) facilitant la vie des utilisateurs ubuntu et/ou d'autres distributions linux.
L'inscription n'est pas obligatoire et vous pouvez contribuer de manière indépendante. Cependant pour des raisons pratiques il est préférable de le faire.

<note warning>Vous pouvez nous rejoindre sur **[[https://launchpad.net/~ubuntu-fr-scripts|ubuntu-fr-scripts]]** et contribuer au développement en vous inscrivant sur la mailing liste (en cours de création). Une discussion en directe sur le canal IRC [[irc://irc.freenode.net/ubuntu-fr-scripts|#ubuntu-fr-scripts]] est possible avec les autres membres, pour vous aider et/ou répondre à vos questions.</note>

===== Inscription =====

Dans un premier temps il faudra vous inscrire sur le site [[https://launchpad.net/+login|launchpad.net]].
Vous devrez déposer votre clef ssh publique (la création de la clef ssh devra être sans passphrase de préférence) [[https://launchpad.net/~fidji/+editsshkeys|ici]] pour pouvoir modifier/ajouter vos scripts.

Si vous n'avez pas de clef [[:ssh|ssh]] :
<code>ssh-keygen -t rsa
ou encore
ssh-keygen -t dsa</code>
Vous pouvez ensuite demander à rejoindre [[https://launchpad.net/~ubuntu-fr-scripts|l'équipe de développement]].

===== Installation =====
Vous devrez installer certains outils pour pouvoir travailler sur le projet
<code>sudo apt-get install bzr bzr-gtk</code>

===== Travailler avec ubuntu-fr-scripts =====
<note important>Ne mettez pas d'accent ou d'espace dans les noms de projets ou de vos fichiers</note>
Un projet (ou branche) contiendra un ou plusieurs scripts traitant d'un même sujet, par exemple sauvegarde de données, statistiques réseau, scripts action pour dolphin/konqueror/nautilus, etc.
Dans chaque projet il sera d'usage d'avoir un fichier README.nomduscript contenant la description et l'usage de votre script.

==== Création de votre projet ====
<code>mkdir ~/Projets/MonProjet && cd ~/Projets/MonProjet
bzr init # Initialisation de votre Projet
touch MonScript # Création/Edition du fichier
bzr add # Pour marquer tous les nouveaux fichiers à ajouter
bzr commit -m "Commentaire explicite" # Pour valider localement l'ajout de votre/vos fichiers
bzr push lp:~VotreLogin/ubuntu-fr-scripts/MonProjet
</code>

Voila vous avez créé votre première branche/projet

==== Création d'un projet privé ====
Vous pouvez à partir de votre compte Launchpad créer des projets privés (non partagés avec l'équipe ubuntu-fr-scripts)
<code>mkdir ~/Projets/MonProjetPerso && cd ~/Projets/MonProjetPerso
bzr init # Initialisation de votre Projet
touch MonScript # Création/Edition du fichier
bzr add # Pour marquer tous les nouveaux fichiers à ajouter
bzr commit -m "Ajout d'un commentaire suffisamment expicite" # Pour valider localement l'ajout de votre/vos fichiers
bzr push lp:~VotreLogin/+junk/MonProjetPerso
</code>
==== Aide commande bzr ====
Pour plus d'information sur la commande bzr veuillez consulter la documentation [[http://doc.bazaar-vcs.org/bzr.dev/en/user-guide/|Bazaar User Guide (en)]]
<code>bzr help
bzr help commands # Liste des commandes
bzr help xxx # Aide sur la commande xxx</code>

==== Récupérer votre projet ====
Vous aurez peut être besoin depuis une autre machine de pouvoir récupérer votre projet, pour continuer votre travail (Pensez à ajouter votre clef ssh publique sur votre compte Launchpad)
Ou encore vous pouvez avoir supprimé sur votre poste votre dossier MonProjet
<code>cd ~/Projets
bzr branch lp:~VotreLogin/ubuntu-fr-scripts/MonProjet
cd MonProjet
# ou encore pour récupérer votre projet privé
bzr branch lp:~VotreLogin/+junk/MonProjetPerso
cd MonProjetPerso
</code>

==== Ajouter un nouveau fichier ====
<code>cd ~/Projets/MonProjet
bzr update # Pour mettre à jour vos sources (par exemple vous avez effectué des modifications depuis une autre machine)
touch monscript # Création/Edition du fichier
bzr add # Pour marquer tous les nouveaux fichiers à ajouter
# ou encore 
bzr add monscript
bzr commit -m "Ajout d'un commentaire suffisamment explicite" # Pour valider localement l'ajout de votre fichier
bzr push lp:~VotreLogin/ubuntu-fr-scripts/MonProjet # Pour transmettre au serveur launchpad vos ajouts</code>

==== Modification d'un fichier ====
<code>cd ~/Projets/MonProjet
bzr update # Pour mettre à jour vos sources
vi monscript # Modification du fichier
bzr commit -m "Ajout du commentaire suffisamment explicite" # Pour valider localement la modification de votre fichier
bzr push lp:~VotreLogin/ubuntu-fr-scripts/MonProjet # Pour transmettre au serveur launchpad vos modifications</code>

==== Création d'un sous dossier ====
<code>cd ~/Projets/MonProjet
bzr update # Pour mettre à jour vos sources
bzr mkdir SousDossier # Equivaut à un mdkdir SousDossier et bzr add SousDossier
bzr commit -m "Ajout du commentaire suffisamment explicite"
bzr push lp:~VotreLogin/ubuntu-fr-scripts/MonProjet</code>

==== Validation de votre projet ====
Une fois que vous considérez que votre projet est stable, merci de prendre contact avec un des administrateurs ubuntu-fr-scripts afin de porter votre projet vers la production de paquet .deb

==== Avec l'interface bzr-gtk ====
Voir [[:bzr-gtk|bzr-gtk]]
